import { defHttp } from '/@/utils/http/axios';

import {
  IBorrowBdDataSimpleSelect,
  IBorrowBdDataAdvancedSelect,
  IBorrowBdDataSelectFile,
  IBorrowBdDataAddLabel,
  IBorrowBdDataUpdateLabel,
  IBorrowBdDataUpdateForm,
} from './model/knowledgeModel';

enum Api {
  // 获取普通检索列表
  BorrowBdDataSimpleSelect = '/services/app/DocBrowser/GetBorrowBdDataSimpleSelect',
  // 获取高级检索列表
  BorrowBdDataAdvancedSelect = '/services/app/DocBrowser/GetBorrowBdDataSelect',
  // 图书馆下面标签页对应选择数节点点击右边显示文件列表
  BorrowBdDataSelectFile = '/services/app/DocBrowser/GetDocBrowserUseType',
  // 添加标签和文件对照
  BorrowBdDataAddLabel = '/services/app/DocAndLabel/AddDocAndLabel',
  // 文件类型
  FileType = '/services/app/Pdmdoctype/GetALLBrowserPdmDocType',
  // 判断借阅设置
  BorrowSetting = '/services/app/UserOption/SelectBrowserOption',
  // 获取所有标签id和名称
  AllLabel = '/services/app/DocLabel/GetAllDocLabel',
  // 修改对应文件的标签数据
  UpdateLabel = '/services/app/DocAndLabel/UpdateFileLabel',
  // 表单修改
  UpdateForm = '/services/app/Task/ChangeBdTable',
}

/**
 * 模块名:获取普通检索
 * 代码描述:
 * 作者:张泽源
 * 创建时间:2024/01/26 13:30:40
 */
export const getBorrowBdDataSimpleSelect = (params: IBorrowBdDataSimpleSelect) =>
  defHttp.get({ url: Api.BorrowBdDataSimpleSelect, params });

/**
 * 模块名:获取高级检索
 * 代码描述:
 * 作者:张泽源
 * 创建时间:2024/01/26 13:31:52
 */
export const getBorrowBdDataAdvancedSelect = (params: IBorrowBdDataAdvancedSelect) =>
  defHttp.get({ url: Api.BorrowBdDataAdvancedSelect, params });

/**
 * 模块名:图书馆下面标签页对应选择数节点点击右边显示文件列表
 * 代码描述:
 * 作者:张泽源
 * 创建时间:2024/01/26 13:32:43
 */
export const getBorrowBdDataSelectFile = (params: IBorrowBdDataSelectFile) =>
  defHttp.get({ url: Api.BorrowBdDataSelectFile, params });

/**
 * 模块名:添加标签和文件对照
 * 代码描述:
 * 作者:张泽源
 * 创建时间:2024/01/26 16:24:57
 */
export const getBorrowBdDataAddLabel = (params: IBorrowBdDataAddLabel) =>
  defHttp.post({ url: Api.BorrowBdDataAddLabel, params });

/**
 * 模块名:文件类型
 * 代码描述:
 * 作者:张泽源
 * 创建时间:2024/01/29 13:07:34
 */
export const getDocBrowserUseType = () => defHttp.get({ url: Api.FileType });

/**
 * 模块名:获取对应文件类型借阅流程模板列表
 * 代码描述:
 * 作者:张泽源
 * 创建时间:2024/01/29 15:58:13
 */
export const getBorrowFlowTemplate = (FileType: string) =>
  defHttp.get({ url: `/services/app/Workflows/GetBrowserWorkflowUseType?FileType=${FileType}` });

/**
 * 模块名:获取所有标签id和名称
 * 代码描述:
 * 作者:张泽源
 * 创建时间:2024/01/29 16:58:10
 */
export const getBorrowBdDataAllLabel = () => defHttp.get({ url: Api.AllLabel });

/**
 * 模块名:修改对应文件的标签数据
 * 代码描述:
 * 作者:张泽源
 * 创建时间:2024/01/29 16:59:39
 */
export const getBorrowBdDataUpdateLabel = (params: IBorrowBdDataUpdateLabel) =>
  defHttp.put({ url: Api.UpdateLabel, params });

/**
 * 模块名:判断借阅设置
 * 代码描述:
 * 作者:张泽源
 * 创建时间:2024/01/30 16:08:06
 */
export const getBorrowBdDataJudge = () => defHttp.post({ url: Api.BorrowSetting });

/**
 * 模块名:表单查看
 * 代码描述:
 * 作者:张泽源
 * 创建时间:2024/02/02 09:13:28
 */
export const getBorrowBdDataForm = (OId: string) =>
  defHttp.get({ url: `/services/app/Task/GetOneBD?OId=${OId}` });

/**
 * 模块名:表单修改
 * 代码描述:
 * 作者:张泽源
 * 创建时间:2024/02/02 11:49:10
 */
export const getBorrowBdDataFormUpdate = (params: IBorrowBdDataUpdateForm) =>
  defHttp.put({ url: Api.UpdateForm, params });
